leap motion

您所在的位置:网站首页 leap motion开发 leap motion

leap motion

2024-07-08 00:40| 来源: 网络整理| 查看: 265

leap motion

在将JavaScript与下一代技术结合使用时,Leap Motion是我最喜欢使用的设备之一。 对于Leap Motion,JavaScript并不是事后的想法。 它不是由爱好者共同使用的第三方模块,它是Leap Motion团队在开发每个新的API版本时精心开发的。 他们最新的V2.1版本(目前处于测试阶段)非常令人兴奋。 在本文中,我将概述JavaScript开发人员可以使用的新功能。

更加自信地跟踪那些手

该API为每手总手提供其他数据。 可以在frame.hands中获得手数据,就像在以前的API中一样,但是在更新中,我们获得了精彩的新数据集合,这些数据将使Leap Motion开发人员的工作更加轻松。

手的信心

新API中我最喜欢的内容之一就是能够了解Leap Motion对数据的确定程度。 hand.confidence提供从0到1的值,它使您知道所看到的与所理解的手的模型相匹配的确定性。 较低的值可能意味着不确定整体手部数据,也可能意味着不确定手指/骨骼的位置。 这使您可以在执行操作之前检查Leap Motion的状态。 我很乐意看到这会导致更顺畅的互动,并希望鼓励用户保持清晰的手势。

手型

hand.type Leap Motion认为自己看到的是左手还是右手。 如果您的手是拳头,那么使用这种区别会有些困难。

捏力

hand.pinchStrength是一个很棒的新属性,其值从0到1,代表拇指和手指彼此之间的距离。 这可以为手势和控制应用程序打开一些有趣的可能性,因为捏是一种自然而自然的手势。

抓力

就像捏力一样, hand.grabStrength返回0到1的值,但是它表示您的手是张开还是握紧拳头。 同样,这里的可能性也令人兴奋–让您的用户挤压虚拟压力球或在虚拟房间中抓取并扔东西。

新手指数据

在新的骨骼API更改中,每只手总是有五个手指,并且您可以从Leap Motion可以看到的每个手指上获得全新的数据集。

手指类型

您可以使用finger.type以什么样的手指读取每个数据代表的数据。 该对象将是一个从零到四个的值:

0是拇指 1是食指 2是中指 3是无名指 4是小指

每次Leap Motion读取手上的数据时,都会用所有五个手指将其读入。

手指伸出

如果某些手指没有指向Leap Motion上方,则设备会使用finger.extended = false将其记录为未延伸。

按照名称“ Skeletal”,我们将数据深入到骨骼

我不太熟悉手的骨骼结构,因此我有机会在这里学习新知识。 我的医生将为我的丰富知识而感到骄傲。 希望有一天掌骨能随便交谈。

Leap Motion提供了每个手指上四个手指骨骼的数据,从手腕到每个手指的尖端排列:掌骨,近端指骨,中间指骨和远端指骨。 这对于大多数社会来说毫无意义,所以这是我在Wikipedia Commons上找到的一个可爱的图表:

人类手中的骨头

指骨细节

每个骨头都有更详细的说明(我从腕部到手指尖都进行了排列):

finger.carpPosition –掌骨底部的x,y和z位置。 finger.mcpPosition –手指关节的位置–掌骨与指骨近端之间的点。 finger.pipPosition –近端和中间指骨之间的光斑位置。 finger.dipPosition –远端骨基部与中间指骨相连的位置。

它还具有用于每个手指骨骼的对象的更多细节finger.distal 。 finger.metacarpal , finger.proximal , finger.intermediate和finger.distal 。 Leap Motion API中的每一个都用骨头表示,并具有以下详细信息:

bone.type –介于0到4之间的值,代表骨骼的类型:

0 –掌骨

1 –近节指骨 2 –中级指骨 3 –远端指骨

4 –前臂

bone.basis –提供一个二维数组,表示骨骼的向量。 您可以对此进行一些非常疯狂的数学运算以检测特定的手指位置。 在尝试使用这些值之前,我需要先进行一些数学练习,但是,它的潜力真是太棒了!

bone.prevJoint和bone.nextJoint –分别是最靠近手腕的骨骼末端和最靠近指尖的骨骼末端的坐标。 bone.length –骨头的长度,以毫米为单位。 bone.width – Leap Motion在他们的文档中将其描述为“围绕此骨骼的肉体部分的平均宽度”。 bone.left –骨骼是否在左手(如果没有,则它在右手,似乎没有bone.right ) bone.center –骨骼的中点 bone.direction –骨骼所在的方向向量 免费学习PHP!

全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。 原价$ 11.95 您的完全免费

基本上,那里的数据量很大。

演示中包含大量数字的数据

我汇总了一个快速演示,以显示通过此API流了多少协调数据。 以下演示显示了finger.carpPosition , finger.mcpPosition , finger.pipPosition和finger.dipPosition各自的坐标,以及为手和手指检索的基本数据。 这也只是可用数据的一小部分!

该演示看起来像这样:

骨骼位置演示的屏幕截图

您可以在此处使用Leap Motion进行实际操作。

还有更多来!

V2 Leap Motion API不仅有这些功能,它还支持VR耳机(如Oculus VR),还提供对Leap Motion实际图像数据的访问。 遗憾的是,JavaScript API尚不提供这些功能,但希望我们能在API退出测试版之前尽快看到它们!

其他资源

如果您正在寻找有关这些API入门的更多详细信息,最好的去处是Leap Motion开发人员网站:

JavaScript SDK文档 Leap Motion JavaScript演示库,请查看源代码以获得一些不错的见解!

翻译自: https://www.sitepoint.com/skeletal-tracking-javascript-leap-motion/

leap motion



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3